import UIKit

//
@available(iOS 5.0, *)
extension QKC where AA :UIStepper {
		// if YES, value change events are sent any time the value changes during interaction. default = YES
    open func isContinuous_qk_s(_ isContinuous:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: isContinuous).then_QK { $0.value.isContinuous = isContinuous }
	}
    open func isContinuous_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isContinuous
	}

		// if YES, press & hold repeatedly alters value. default = YES
    open func autorepeat_qk_s(_ autorepeat:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: autorepeat).then_QK { $0.value.autorepeat = autorepeat }
	}
    open func autorepeat_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.autorepeat
	}

		// if YES, value wraps from min <-> max. default = NO
    open func wraps_qk_s(_ wraps:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: wraps).then_QK { $0.value.wraps = wraps }
	}
    open func wraps_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.wraps
	}

		// default is 0. sends UIControlEventValueChanged. clamped to min/max
    open func value_qk_s(_ value:  Double ) -> QKC<AA,YY,ZZ, Double >{
		return link(next: value).then_QK { $0.value.value = value }
	}
    open func value_qk_g() -> QKC<AA,YY,ZZ, Double >{
		 self +^ self.value.value
	}

		// default 0. must be less than maximumValue
    open func minimumValue_qk_s(_ minimumValue:  Double ) -> QKC<AA,YY,ZZ, Double >{
		return link(next: minimumValue).then_QK { $0.value.minimumValue = minimumValue }
	}
    open func minimumValue_qk_g() -> QKC<AA,YY,ZZ, Double >{
		 self +^ self.value.minimumValue
	}

		// default 100. must be greater than minimumValue
    open func maximumValue_qk_s(_ maximumValue:  Double ) -> QKC<AA,YY,ZZ, Double >{
		return link(next: maximumValue).then_QK { $0.value.maximumValue = maximumValue }
	}
    open func maximumValue_qk_g() -> QKC<AA,YY,ZZ, Double >{
		 self +^ self.value.maximumValue
	}

		// default 1. must be greater than 0
    open func stepValue_qk_s(_ stepValue:  Double ) -> QKC<AA,YY,ZZ, Double >{
		return link(next: stepValue).then_QK { $0.value.stepValue = stepValue }
	}
    open func stepValue_qk_g() -> QKC<AA,YY,ZZ, Double >{
		 self +^ self.value.stepValue
	}

	// a background image which will be 3-way stretched over the whole of the control. Each half of the stepper will paint the image appropriate for its state
    @available(iOS 6.0, *)
    open func setBackgroundImage_qk_f(_ image: UIImage?, for state: UIControl.State) -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.setBackgroundImage(image, for:state) +^ image
	}

    @available(iOS 6.0, *)
    open func backgroundImage_qk_f(for state: UIControl.State) -> QKC<AA,YY,ZZ,UIImage?>{
		 self +^ self.value.backgroundImage(for:state)
	}

	// an image which will be painted in between the two stepper segments. The image is selected depending both segments' state
    @available(iOS 6.0, *)
    open func setDividerImage_qk_f(_ image: UIImage?, forLeftSegmentState leftState: UIControl.State, rightSegmentState rightState: UIControl.State) -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.setDividerImage(image, forLeftSegmentState:leftState, rightSegmentState:rightState) +^ image
	}

    @available(iOS 6.0, *)
    open func dividerImage_qk_f(forLeftSegmentState state: UIControl.State, rightSegmentState rightstate: UIControl.State) -> QKC<AA,YY,ZZ,UIImage?>{
		 self +^ self.value.dividerImage(forLeftSegmentState:state, rightSegmentState:rightstate)
	}

	// the glyph image for the plus/increase button
    @available(iOS 6.0, *)
    open func setIncrementImage_qk_f(_ image: UIImage?, for state: UIControl.State) -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.setIncrementImage(image, for:state) +^ image
	}

    @available(iOS 6.0, *)
    open func incrementImage_qk_f(for state: UIControl.State) -> QKC<AA,YY,ZZ,UIImage?>{
		 self +^ self.value.incrementImage(for:state)
	}

	// the glyph image for the minus/decrease button
    @available(iOS 6.0, *)
    open func setDecrementImage_qk_f(_ image: UIImage?, for state: UIControl.State) -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.setDecrementImage(image, for:state) +^ image
	}

    @available(iOS 6.0, *)
    open func decrementImage_qk_f(for state: UIControl.State) -> QKC<AA,YY,ZZ,UIImage?>{
		 self +^ self.value.decrementImage(for:state)
	}

}

